Concept-Oriented Programming
نویسنده
چکیده
Object-oriented programming (OOP) is aimed at describing the structure and behaviour of objects by hiding the mechanism of their representation and access in primitive references. In this article we describe an approach, called concept-oriented programming (COP), which focuses on modelling references assuming that they also possess applicationspecific structure and behaviour accounting for a great deal or even most of the overall program complexity. References in COP are completely legalized and get the same status as objects while the functions are distributed among both objects and references. In order to support this design we introduce a new programming construct, called concept, which generalizes conventional classes and concept inclusion relation generalizing class inheritance. The main advantage of COP is that it allows programmers to describe two sides of any program: explicitly used functions of objects and intermediate functionality of references having cross-cutting nature and executed implicitly behind the scenes during object access.
منابع مشابه
An enhanced reliability-oriented workforce planning model for process industry using combined fuzzy goal programming and differential evolution approach
This paper draws on the “human reliability” concept as a structure for gaining insight into the maintenance workforce assessment in a process industry. Human reliability hinges on developing the reliability of humans to a threshold that guides the maintenance workforce to execute accurate decisions within the limits of resources and time allocations. This concept offers a worthwhile point of de...
متن کاملConcept-Oriented Programming - Classes and Inheritance Revisited
The main goal of concept-oriented programming (COP) is describing how objects are represented and accessed. References (object locations) in COP are made first-class elements responsible for many important functions which are difficult to model via objects. COP rethinks and generalizes such primary notions of object-orientation as class and inheritance by introducing a novel construct, concept,...
متن کاملQuality Measurement of Software By Using Coupling Metrics
Software Modularization includes the concept of procedural, object based and objects oriented languages. The metrics presented and evaluated in this paper are both ‘pure’ object–oriented metrics (Metrics for pure object oriented programming) and metrics proposed for object–oriented programming (Object-based programming). Concept of software modularization is divided in three components i) Use o...
متن کاملEncapsulation in Object-Oriented Programming: Comparison & Evaluation
This paper discusses the concept of encapsulation from object-oriented programming viewpoint. In addition to briefly reviewing issues relevant to the concept, I present an overview of the support that major object-oriented languages such as C++ [1], Eiffel [2], Smalltalk [3],and Java [4] offer to accommodate it. This support is explained, critically compared, and then evaluated to assess its ad...
متن کاملAspect-Oriented Programming for Reactive Systems: a Proposal in the Synchronous Framework
Aspect-Oriented Programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns for parallel programs of reactive systems: we propose a notion of aspect and a weaving mechanism, in a core langu...
متن کاملDeclarative Events for Object-Oriented Programming
In object-oriented designs inversion of control is achieved by an event-driven programming style based on imperatively triggered events. An alternative approach can be found in aspect-oriented programming, which de nes events as declarative queries over implicitly available events. This helps to localize de nition of events and avoid preplanning, but lacks a clean integration with object-orient...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/0806.4746 شماره
صفحات -
تاریخ انتشار 2008